//
//  BZAudioUtility.h
//  BZFoundation
//
//  Created by 郭艺伟 on 2017/9/28.
//  Copyright © 2017年 郭艺伟. All rights reserved.
//

#import <Foundation/Foundation.h>


FOUNDATION_EXPORT NSString * const MUPAudioUtilityErrorDomain;

/**
 *  音频工具类 负责：
 *  1. Wav，Amr 文件之间的互相转换
 *  2. 获取Wav 音频的音频长度
 */
@interface BZAudioUtility : NSObject

/**
 *  将一个 Wav 文件转换成 Amr 文件。
 *
 *  @param wavFilePath 需要转换的 Wav 文件的路径
 *  @param amrFilePath 转换完成后存储 Amr 文件的路径
 *  @param error       转换发生错误时产生的 error
 *
 *  @return 转换是否成功
 */
+ (BOOL)convertWavFile:(NSURL *)wavFilePath
             toAmrFile:(NSURL *)amrFilePath
                 error:(NSError **)error;

/**
 *  将一个 Amr 文件转换成 Wav 文件。
 *
 *  @param amrFilePath 需要转换的 Amr 文件的路径
 *  @param wavFilePath 转换完成后存储 Wav 文件的路径
 *  @param error       转换发生错误时产生的 error
 *
 *  @return 转换是否成功
 */
+ (BOOL)convertAmrFile:(NSURL *)amrFilePath
             toWavFile:(NSURL *)wavFilePath
                 error:(NSError **)error;

/**
 *  获取一个 Wav 音频文件的长度，单位为秒
 *
 *  @param filename 文件名
 *
 *  @return 音频长度
 */
+ (NSTimeInterval)wavDurationWithFilePath:(NSURL *)filePath;


@end
